The present invention relates generally to adaptive noise cancellers, and more particularly, to active adaptive noise cancellers that do not require a training mode.
Current active adaptive noise cancellation systems use the so called "filtered-X LMS" algorithm, and require that a potentially very objectionable training mode be used to learn the transfer function of a speaker and microphone employed in the systems.
All previously known active noise cancellers utilize the training mode to learn the transfer functions of the speakers and microphones used in their systems. As the physical situation changes, training must be redone. For example, in an automobile application, the training mode needs to be re-initiated every time a window is opened, or another passenger enters the car, or when the vehicle heats up during the day.
By way of introduction, the objective in active noise cancellation is to generate a waveform that inverts a nuisance noise source and suppresses it at some point in space. This is termed active noise cancelling because energy is added to the physical situation. In conventional noise cancelling applications, such as echo cancelling, sidelobe cancelling, and channel equalization, a measured reference is transformed to subtract out from a primary waveform. In active noise cancelling, a waveform is generated for subtraction, and the subtraction is performed acoustically rather than electrically.
In the most basic active noise cancellation system, a noise source is measured with a local sensor such as an accelerometer or microphone. The noise propagates both acoustically and structurally to a point in space, such as the location of the microphone, at which the objective is to remove the components due to the noise source.
The measured noise waveform at its source is the input to an adaptive filter, the output of which drives the speaker. The microphone measures the sum of the actual noise source and speaker output that have propagated to the point where the microphone is located. This serves as the error waveform for updating the adaptive filter. The adaptive filter changes its weights as it iterates in time to produce a speaker output that at the microphone that looks as much as possible (in the minimum mean squared error sense) like the inverse of the noise at that point is space. Thus, in driving the error waveform to have minimum power, the adaptive filter removes the noise by driving the speaker to invert it. Thus the term active cancellation.
In conventional applications of adaptive cancellation, the input to the adaptive filter is called the reference waveform. The filter output is electrically subtracted from the desired waveform channel (called the primary waveform) which is corrupted by the noise to be removed. The difference (called the error) is directly observable and is fed back to update the adaptive filter using a product of the error and the data into the adaptive filter in an LMS weight update algorithm.
Although the error summation in an active cancellation system is performed acoustically in the medium, it is possible to represent this system by an equivalent electrical model. The adaptive filter output is passed through the speaker transferer function and is then subtracted from the channel output to form the error which is observable only through the microphone transfer function. Thus the observable error is not directly based on the adaptive filter output, but on the adaptive filter output passed through the speaker transfer function. In addition, the error difference is not directly observable, but is only observable through the microphone transfer function. Therefore, there are two major structural differences between the active noise cancelling problem and conventional adaptive cancellation. Direct application of the LMS algorithm within this configuration results in filter instability, which is clearly unacceptable. For that reason, all active noise cancelling applications utilize the "filtered-X" LMS algorithm instead, which requires a training mode.
In the training mode the transfer function of the speaker-microphone combination is estimated. A broadband noise source (different from the noise sources described above) is input to both the speaker and a separate adaptive filter that is different from the one used for adaptive cancellation (this filter does not drive the filter and its output is not used at all). The microphone output is then subtracted from the adaptive filter output to form the error waveform which updates the filter. The adaptive filter attempts to make its output look like the speaker-microphone output, thus estimating the cascaded transfer functions. The adaptive filter is updated with the straight LMS algorithm, in that the adaptive filter output is directly subtracted from the waveform it is trying to estimate (the output of the speaker-microphone), and the error for updating the LMS algorithm is directly observable as well. The converged adaptive filter in steadystate has a transfer function denoted by G(SM), which will have been learned in the training mode. The filter G(SM) is then used in the filtered-X configuration to compensate for the speaker and microphone effects.
An adaptive filter employing the filtered-X LMS algorithm uses two adaptive filters, one of which is slaved to the other. The first adaptive filter is used only to form the weights that are used in the slaved filter. The output of the first adaptive filter is not used. The first adaptive filter has its input filtered by the estimated speaker-microphone transfer function, G(SM), which was learned during the training mode. Thus the slave adaptive filter update is based on the filtered data, rather than the data itself, and the error, which is not the direct subtraction of the filter output from the waveform channel output. Since the filter input (reference waveform) is often called the X-channel in adaptive filter literature, this configuration is called the "Filtered-X LMS" algorithm. This algorithm is discussed in the book entitled "Adaptive Signal Processing," by B. Widrow et al, Prentice-Hall, 1985.
In addition, if the microphone appears in both the waveform channel and speaker portions of the circuit prior to error subtraction, if the speaker or microphone contain zeros (which they very likely will), or if the waveform channel or microphone contain poles (which is also very likely), then the adaptive filter will have to produce poles to either undo the speaker-microphone zeros or to transform the noise to model the waveform channel-microphone poles. The limitation here is in the basic finite-impulse-response (FIR) structure of the LMS adaptive filter, which produces only zeros. The LMS adaptive filter can approximate a pole by having a large number of weights, but this results in slow convergence (a severe limitation in practical applications) and is expensive. Thus the need exists to modify the LMS algorithm configuration to adjust its weights based on something other than the error-data product since that is not available, and to produce poles, or remove the need to produce poles.
If in the filtered-X LMS algorithm, G(SM) is made part of the noise source measurement, G(SM).sup.-1 is needed on the slave adaptive filter input so as not to change the situation from that of the just-described filter. The speaker-microphone transfer function, which was estimated to be G(SM) in the training mode, is undone by the equivalent of G(SM).sup.-1 in front of the slaved adaptive filter. The zeros of the speaker-microphone will be exactly cancelled by the poles of G(SM).sup.-1. This eliminates one of the reasons the adaptive filter needs to produce poles. It does nothing about the poles in either the waveform channel or the microphone. More importantly, it provides the adaptive algorithm with the correlated inputs it needs to converge. The adaptive filter on the actual input data is then slaved to have the weights formed using the filtered-X.
A logical question at this stage is whether an adaptive filter that can produce poles implicitly within its structure would be more appropriate for this problem. A recursive adaptive filter, which has a feed-forward and feed-backward adaptive section produces both poles and zeros. It may be used instead of the adaptive filter first discussed above. The problem is that the recursive adaptive filter needs to be updated by the error, which is the direct difference between the adaptive filter output and the waveform channel output. This is not the case with the active canceller, where the error is only observable through the speaker-microphone. In addition the waveform channel output is modified by the inverse of the speaker transfer function. Thus G(SM).sup.-1 is needed to provide the recursive LMS algorithm with the error waveform it requires to properly update the feed-forward and the feed-backward weights. It has been found in simulations, that if G(SM).sup.-1 is not inserted, the recursive LMS filter is also unstable. Thus, although the recursive LMS algorithm allows the adaptive filter to produce the required poles, it still requires a training mode to fully implement the algorithm.
Therefore, the primary objective of the invention is to eliminate the need for the training mode, in active adaptive cancellation systems, for both those that can and cannot produce poles. It is also an objective to develop an alternative to estimating the speaker-microphone transfer function and having to invert it in an adaptive canceller. There are several practical motivations for this, aside from the complexity of the system. The training mode is very awkward in many situations. For example, in an automobile noise quieting problem, the car occupants are not going to appreciate an irritating loud white noise in the interest of quieting future noise. In addition, the training mode would need to be re-initiated every time the situation in the vehicle changed in a way that could alter the speaker-microphone transfer function, such as opening a window, adding another passenger, the car heating up in the sun, and so forth. What is needed is an alternative to the training mode that provides the system with the correlations that are needed for the LMS or the recursive adaptive filter algorithm to converge while operating over a wide range of variations in the parameters associated with that alternative. Consequently, there is a need for a new active adaptive canceller system that does not require training, and therefore has much more practical utility.